home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1998
/
MacHack 1998.toast
/
The Hacks!
/
mhTV ƒ
/
TVSource
/
SourceThatMatters
/
General
/
Maynard.h
< prev
Wrap
Text File
|
1998-06-21
|
5KB
|
166 lines
#ifndef Maynard_H
#define Maynard_H
#include <MacMemory.h>
#include <Math64.h>
#include "TextUtils.h"
#include "Threads.h"
///=============================================================================
#undef TRUE
#undef FALSE
#define TRUE 1
#define FALSE 0
#define UNITIALIZED (-1)
#undef NULL
#define NULL 0
///=============================================================================
//This is true for 601, 603, 604.
//May have to change for other PPC CPUs.
#define kCacheBlockSize 32
#define kCacheBlockSize1 (kCacheBlockSize-1)
///.............................................................................
#define kStandardMovieTimeScale 600
///.............................................................................
#define kfxTwo 0x00020000
#define kfxOne 0x00010000
#define kfxHalf 0x00008000
#define kfxZero 0x00000000
#define kfxMinusOne (-kfxOne)
///.............................................................................
#ifndef MIN
#define MIN(x, y) ( (x)<(y) ?(x) :(y) )
#endif //MIN
#ifndef MAX
#define MAX(x, y) ( (x)>(y) ?(x): (y) )
#endif //MAX
#ifndef MIN64S
#define MIN64S(x, y)( S64Compare(x, y)<0 ?(x) :(y) )
#endif //MIN
#ifndef MAX64S
#define MAX64S(x, y)( S64Compare(x, y)>0 ?(x): (y) )
#endif //MAX
#ifndef ABS
#define ABS(x) ( (x)>=0? (x): -(x) )
#endif //ABS
#ifndef SGN
#define SGN(x) ( (x)>0? 1: ((x)<0? -1: 0) )
#endif //ABS
///.............................................................................
//Use KONST for parameters where the variable should be const, but a bonehead
//header file prevents you from declaring it const.
#define KONST
#define ASM pascal
#define GLOBAL
///.............................................................................
typedef unsigned char BOOL8;
typedef unsigned short BOOL16;
typedef unsigned long BOOL32;
typedef BOOL32 BOOL;
typedef signed char TRI_STATE8;
typedef signed short TRI_STATE16;
typedef signed long TRI_STATE32;
typedef TRI_STATE32 TRI_STATE;
typedef char INT8;
typedef short INT16;
typedef long INT32;
typedef int INT;
typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned long UINT32;
typedef unsigned int UINT;
typedef signed char SINT8;
typedef signed short SINT16;
typedef signed long SINT32;
typedef signed int SINT;
//This is for blitting to the screen using an 8byte wide register.
// On CPUs that support an 8 byte wide integer register it should be
// set to that type, ie long long.
// On x86 if it's possible to define a type that maps to an MMX register,
// that should be used.
typedef double BLIT64;
#define BOOL1(var) BOOL8 var :1
///.............................................................................
#ifndef STATIC_CAST
#define STATIC_CAST( cast, expression) ((cast)(expression))
#define REINTERPRET_CAST(cast, expression) ((cast)(expression))
#define CONST_CAST( cast, expression) ((cast)(expression))
#endif
///-----------------------------------------------------------------------------
#define RETURN_ERROR2(error1, error2) \
if(error1!=noErr) return error1; \
else return error2; \
#define RETURN_ERROR3(error1, error2, error3) \
if(error1!=noErr) return error1; \
else if(error2!=noErr) return error2; \
else return error3; \
#define RETURN_ERROR4(error1, error2, error3, error4) \
if(error1!=noErr) return error1; \
else if(error2!=noErr) return error2; \
else if(error3!=noErr) return error3; \
else return error4; \
#define RETURN_ERROR5(error1, error2, error3, error4, error5) \
if(error1!=noErr) return error1; \
else if(error2!=noErr) return error2; \
else if(error3!=noErr) return error3; \
else if(error4!=noErr) return error4; \
else return error5; \
///=============================================================================
#if DEBUG
#define DEBUGSTR(str) DebugStr(str)
#define FLAG_ERROR(error) \
if(error!=noErr){ \
Str32 zStr; NumToString(error, zStr); DebugStr(zStr); \
}
int mjhassert(char*, char*, int);
int imjhassert(char*, char*, int);
#define ASSERT(f) ((void) ((f) || mjhassert(#f, __FILE__, __LINE__)))
#define IASSERT(f) ((void) ((f) || imjhassert(#f, __FILE__, __LINE__)))
#else
#define DEBUGSTR(str) {;}
#define FLAG_ERROR(error) {;}
#define ASSERT(condition) {;}
#define IASSERT(condition) {;}
#endif
///=============================================================================
#endif //Maynard_H